public class TestDemo {
    public static void main(String[] args) {
        String str = "123";
        int val = Integer.parseInt(str);
        System.out.println(val+1);

        int a = 123;
        String str2 = String.valueOf(a);
        System.out.println(str2);

        String str3 = a+"";
        System.out.println(str3);

        String str4 =Integer.toString(a);
        System.out.println(str4);
    }
    public static void main10(String[] args) {
        //str 属于引用变量-> 就是这个变量里面存的是地址
        //“hello” 没有所谓的\0就是字符串的结尾 这样的说法
        String str1 = "hello";
        System.out.println(str1);
        String str2 = "world";
        System.out.println(str2);

        //拼接
        String str3 = str1 + str2;
        System.out.println(str3);

        int a = 10;
        System.out.println("a ==" + a);//a == 10 java当中的字符串 和其他数据类型 进行+号操作的时候就是拼接

        System.out.println(a+"== a");

        int b = 20;
        System.out.println("a+b=" + a + b);//a+b  = 1020
        System.out.println(a + b + "==a+b");//30 == a+b 从左到右计算
    }
    public static void main9(String[] args) {
        int a = 10;
        long b = 10L;

        //4个字节提升为8个字节
        int c = (int)(a+b);

        a = (int)b;//不允许将8个字节 给4个字节

        b = a;

/*
        整形提升
        byte b1 = 10;
        byte b2 = 20;
        byte b3 = b1+b2;//运算符两边小于四个字节的，会提升为4个字节再运算

        short s1 = 10;
        short s2 = 20;
        short s3 = s1+s2;
        */
    }
    public static void main8(String[] args) {
        //在java当中boolean只有2个值  要么是true 要么是false
        //没有所谓的0是假 非0是真
        boolean flg = true;
        //boolean flg2 = 1;
        System.out.println(flg);
        System.out.println(flg);//变量名.sout,快捷键
        //boolean类型 没有明确的大小 JVM没有规定 但是 有些书上会说 占用一个字节 有些书会说占用一个bit位
        //Boolean
    }
    public static void main7(String[] args) {
       char ch = '牛';
        System.out.println(ch);
        Character a = 'b';//unicode字符集
    }
    public static void main6(String[] args) {
        float f = 12.5f;//加了f之后 就是float类型的数据 那么就是4个字节
        System.out.println(f);//Float 单精度浮点数

        double d = 12.5;
        System.out.println(d);//Double 双精度浮点数

        float a = 1;
        int b = 2;
        System.out.println(a/b);

        double dd = 1.1;
        System.out.println(dd*dd);
    }
    public static void main5(String[] args) {
        /*
        byte 只有1字节
        8个比特位
        -2^7 --- (2^7)-1
         */
        byte a = 125;
        System.out.println(a);
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }
    public static void main4(String[] args) {
        /*
        2个字节
        -2^15 --- 2^15 -1
         */
        short sh = 19;
        System.out.println(sh);

        System.out.println(Short.MIN_VALUE);
        System.out.println(Short.MAX_VALUE);
    }

    /*
    8个字节
    -2^63  - (2^63)-1
     */
    public static void main3(String[] args) {
        long a = 10L;
        System.out.println(a);

        System.out.println(Long.MIN_VALUE);
        System.out.println(Long.MAX_VALUE);
    }
    public static void main2(String[] args) {
        int a = 10;
        System.out.println(a);
        //java当中 不允许你使用 未初始化的局部变量
        //局部变量：定义在方法内部的变量
        int b;
        b = 1;
        System.out.println(b);
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MAX_VALUE);
        Integer aa = 10;
        System.out.println(aa);
    }

    //psvm main
    public static void main1(String[] args) {
        //sout
        System.out.println("hello");

    }
}